﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ImpactTenis;
using ImpactTenis.AcessoADados.Cores;
using ImpactTenis.RegrasDeNegocios.Produtos;
using ImpactTenis.AcessoADados.Tamanho;
using ImpactTenis.AcessoADados.Marcas;
using ImpactTenis.AcessoADados.Produtos;
using ImpactTenis.AcessoADados.Vendedores;
using ImpactTenis.AcessoADados.DTOs;
using ImpactTenis.RegrasDeNegocios.Auxiliares;

namespace ImapactTenis
{
    public class Vendedor : Usuario
    {
        public Produto LocalizarProduto(int CodigoProduto)
        {
            throw new NotImplementedException();
        }

        public List<Cores> CarregaCores()
        {
            var coresDTO = new CoresDados().CarregaCores();

            var cores = new List<Cores>();

            foreach (var item in coresDTO)
            {
                cores.Add(new Cores
                {
                    Id = item.Id,
                    Descricao = item.Descricao
                });
            }

            return cores;
        }

        public List<Tamanho> CarregaTamanhos()
        {
            var tamanhoDTO = new TamanhoDados().CarregaTamanhos();

            var tamanhos = new List<Tamanho>();

            foreach (var item in tamanhoDTO)
            {
                tamanhos.Add(
                    new Tamanho
                    {
                        Id = item.Id,
                        Descricao = item.Descricao
                    });
            }

            return tamanhos;
        }

        public List<Marca> CarregaMarcas()
        {
            var marcasDTO = new MarcasDados().CarregaMarcas();

            var marcas = new List<Marca>();

            foreach (var item in marcasDTO)
            {
                marcas.Add(new Marca
                {

                    Id = item.Id,
                    Nome = item.Nome

                });
            }

            return marcas;
        }
        public List<Produto> BuscaProdutos(int cor, int tamanho, int marca)
        {
            Conversor conversor = new Conversor();

            var produtoDTO = new VendendoreDados().BuscaProdutos(cor, tamanho, marca);

            var produtos = new List<Produto>();

            foreach (var item in produtoDTO)
            {
                produtos.Add(
                             conversor.Converter(item)
                             );
            }

            return produtos;
        }

    }
}
